load("@fbsource//tools/build_defs:rust_library.bzl", "rust_library")

oncall("scm_server_infra")

rust_library(
    name = "protocol",
    srcs = glob(["src/**/*.rs"]),
    unittests = True,
    deps = [
        "fbsource//third-party/rust:anyhow",
        "fbsource//third-party/rust:async-trait",
        "fbsource//third-party/rust:bytes",
        "fbsource//third-party/rust:clap",
        "fbsource//third-party/rust:faster-hex",
        "fbsource//third-party/rust:futures",
        "fbsource//third-party/rust:gix-features",
        "fbsource//third-party/rust:gix-hash",
        "fbsource//third-party/rust:gix-object",
        "fbsource//third-party/rust:gix-pack",
        "fbsource//third-party/rust:rayon",
        "fbsource//third-party/rust:rustc-hash",
        "fbsource//third-party/rust:sha1",
        "fbsource//third-party/rust:tempfile",
        "fbsource//third-party/rust:tokio",
        "fbsource//third-party/rust:tokio-stream",
        "fbsource//third-party/rust:tracing",
        "//common/rust/shed/buffered_weighted:buffered_weighted",
        "//common/rust/shed/cloned:cloned",
        "//common/rust/shed/futures_stats:futures_stats",
        "//common/rust/shed/justknobs_stub:justknobs",
        "//eden/mononoke/blobstore:blobstore",
        "//eden/mononoke/bonsai_git_mapping:bonsai_git_mapping",
        "//eden/mononoke/bookmarks:bookmarks",
        "//eden/mononoke/bookmarks:bookmarks_cache",
        "//eden/mononoke/common/scuba_ext:scuba_ext",
        "//eden/mononoke/derived_data:bulk_derivation",
        "//eden/mononoke/filestore:filestore",
        "//eden/mononoke/git/git_types:git_types",
        "//eden/mononoke/git/packetline:packetline",
        "//eden/mononoke/git/packfile:packfile",
        "//eden/mononoke/git_ref_content_mapping:git_ref_content_mapping",
        "//eden/mononoke/git_symbolic_refs:git_symbolic_refs",
        "//eden/mononoke/manifest:manifest",
        "//eden/mononoke/metaconfig:metaconfig_types",
        "//eden/mononoke/mononoke_macros:mononoke_macros",
        "//eden/mononoke/mononoke_types:mononoke_types",
        "//eden/mononoke/repo_attributes/bonsai_tag_mapping:bonsai_tag_mapping",
        "//eden/mononoke/repo_attributes/commit_graph/commit_graph:commit_graph",
        "//eden/mononoke/repo_attributes/commit_graph/commit_graph_types:commit_graph_types",
        "//eden/mononoke/repo_attributes/repo_blobstore:repo_blobstore",
        "//eden/mononoke/repo_attributes/repo_derived_data:repo_derived_data",
        "//eden/mononoke/repo_attributes/repo_identity:repo_identity",
        "//eden/mononoke/server/context:context",
    ],
)
